package disabato_martinez.tp_cotizador.cotizacion;

import java.util.List;

import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;

import disabato_martinez.tp_cotizador.cliente.Cliente;
import disabato_martinez.tp_cotizador.nota.Nota;

@Entity
@Table(name = "cotizacion")
@NamedQueries({
//	@NamedQuery(
//			name = Cotizacion.FIND_LIKE_NOMBRE, 
//			query = "select c from Cotizacion c where c.id_cliente = :Cliente.id"
//			),
    @NamedQuery(
    		name = Cotizacion.FIND_ALL, 
			query = "select co from Cotizacion co")
})
public class Cotizacion 
{
	public static final String FIND_LIKE_NOMBRE = "Cotizacion.findLikeNombre";
	public static final String FIND_ALL = "Cotizacion.findAll";
	
	@Id
	@GeneratedValue
	private Long id;
	
	@OneToOne(fetch=FetchType.EAGER)
	private Cliente cliente;
	private String descripcion;
	private double monto; 
	
	@OneToMany
	private List<Nota> listaNotas;
	
	
	public Cliente getCliente() {
		return cliente;
	}
	public void setCliente(Cliente cliente) {
		this.cliente = cliente;
	}
	
	public void setId(Long id) {
		this.id = id;
	}
	public void setMonto(double monto) {
		this.monto = monto;
	}
	public Long getId() {
		return id;
	}
	public double getMonto() {
		return monto;
	}
	public String getDescripcion() {
		return descripcion;
	}
	public void setDescripcion(String descripcion) {
		this.descripcion = descripcion;
	}
	public List<Nota> getNota() {
		return listaNotas;
	}
	public void setNota(List<Nota> listaNotas) {
		this.listaNotas= listaNotas;
	}
}
